package main

import (
	"fmt"
	"google.golang.org/grpc"
	"lw-shop/goods_service/proto"
	"lw-shop/goods_service/test"
)

var (
	// userClient 是 gRPC 客户端，用于调用远程 User 服务的方法
	goodsClient proto.GoodsClient
	// conn 是 gRPC 连接对象，管理客户端与服务器的连接
	conn *grpc.ClientConn
)

// Init 初始化 gRPC 客户端连接
func Init(port int) {
	var err error
	// 建立 gRPC 连接，使用 `grpc.WithInsecure()` 允许不加密（非 TLS）连接
	conn, err = grpc.Dial(fmt.Sprintf("127.0.0.1:%d", port), grpc.WithInsecure())
	if err != nil {
		// 如果连接失败，则终止程序，并打印错误信息
		panic(err)
	}
	// 创建 User 服务的 gRPC 客户端实例
	goodsClient = proto.NewGoodsClient(conn)
}

// main 函数是程序的入口
func main() {
	// 初始化 gRPC 客户端连接
	Init(57458)

	//test.TestGoodsList(goodsClient)
	//test.TestCreateBrands(goodsClient)
	//test.TestUpdateBrands(goodsClient)
	//test.TestUpdateBrandsForSql(goodsClient)
	//test.TestDeleteBrands(goodsClient)

	//test.TestCreateBanner(goodsClient)
	//test.TestUpdateBanner(goodsClient)

	//test.GetAllCategorysList(goodsClient)
	//test.CategoryBrandList2(goodsClient)
	//test.CategoryBrandList3(goodsClient)
	//test.TestGoodsList(goodsClient)

	//test.TestCreateGoods(goodsClient)
	test.TestUpdateGoods(goodsClient)

	// 关闭 gRPC 连接，释放资源
	conn.Close()
}
